home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1998 August / Software of the Month Club 1998 August.iso / mac / Business / Wallaby / Java / LCDsmall / LCD / LCD.class (.txt)
Encoding:
Java Class File  |  1998-06-03  |  10.8 KB  |  552 lines  |  [Clss/MWZP]

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8. import java.awt.image.ImageObserver;
  9.  
  10. public class LCD extends Applet implements Runnable {
  11.    int Offset;
  12.    int index;
  13.    int StringNum;
  14.    int ScrollStateEnd;
  15.    int ScrollStateStart;
  16.    int Speed;
  17.    String str;
  18.    String xstr;
  19.    char[] separated;
  20.    char[] separated2;
  21.    Thread killme;
  22.    boolean firsttime;
  23.    boolean notdraw;
  24.    boolean ScrollIn;
  25.    Color textColor;
  26.    Image buffer;
  27.    Image buffer2;
  28.    Dimension buffersize;
  29.    Dimension buffersize2;
  30.    // $FF: renamed from: bu java.awt.Graphics
  31.    Graphics field_0;
  32.    Graphics bu2;
  33.    Color white = new Color(255, 255, 255);
  34.    Color gray = new Color(166, 166, 166);
  35.    Color lightgray = new Color(240, 240, 240);
  36.    Color darkgray = new Color(207, 207, 207);
  37.    Color middlegray = new Color(222, 222, 222);
  38.    Color darkgreen = new Color(10, 43, 10);
  39.    Color black = new Color(0, 0, 0);
  40.    Color yellow = new Color(255, 255, 0);
  41.    Color green = new Color(0, 255, 0);
  42.    Color orange = new Color(255, 128, 0);
  43.    Color red = new Color(255, 63, 63);
  44.    Color blue = new Color(63, 63, 255);
  45.    // $FF: renamed from: A boolean[]
  46.    boolean[] field_1 = new boolean[54];
  47.    // $FF: renamed from: B boolean[]
  48.    boolean[] field_2 = new boolean[54];
  49.    // $FF: renamed from: C boolean[]
  50.    boolean[] field_3 = new boolean[54];
  51.    // $FF: renamed from: D boolean[]
  52.    boolean[] field_4 = new boolean[54];
  53.    // $FF: renamed from: E boolean[]
  54.    boolean[] field_5 = new boolean[54];
  55.    // $FF: renamed from: F boolean[]
  56.    boolean[] field_6 = new boolean[54];
  57.    // $FF: renamed from: G boolean[]
  58.    boolean[] field_7 = new boolean[54];
  59.    // $FF: renamed from: H boolean[]
  60.    boolean[] field_8 = new boolean[54];
  61.    // $FF: renamed from: I boolean[]
  62.    boolean[] field_9 = new boolean[54];
  63.    // $FF: renamed from: J boolean[]
  64.    boolean[] field_10 = new boolean[54];
  65.    // $FF: renamed from: K boolean[]
  66.    boolean[] field_11 = new boolean[54];
  67.    // $FF: renamed from: L boolean[]
  68.    boolean[] field_12 = new boolean[54];
  69.    // $FF: renamed from: M boolean[]
  70.    boolean[] field_13 = new boolean[54];
  71.    // $FF: renamed from: N boolean[]
  72.    boolean[] field_14 = new boolean[54];
  73.    // $FF: renamed from: O boolean[]
  74.    boolean[] field_15 = new boolean[54];
  75.    // $FF: renamed from: P boolean[]
  76.    boolean[] field_16 = new boolean[54];
  77.    // $FF: renamed from: Q boolean[]
  78.    boolean[] field_17 = new boolean[54];
  79.    // $FF: renamed from: R boolean[]
  80.    boolean[] field_18 = new boolean[54];
  81.    // $FF: renamed from: S boolean[]
  82.    boolean[] field_19 = new boolean[54];
  83.    // $FF: renamed from: T boolean[]
  84.    boolean[] field_20 = new boolean[54];
  85.    // $FF: renamed from: U boolean[]
  86.    boolean[] field_21 = new boolean[54];
  87.    // $FF: renamed from: V boolean[]
  88.    boolean[] field_22 = new boolean[54];
  89.    // $FF: renamed from: W boolean[]
  90.    boolean[] field_23 = new boolean[54];
  91.    // $FF: renamed from: X boolean[]
  92.    boolean[] field_24 = new boolean[54];
  93.    // $FF: renamed from: Y boolean[]
  94.    boolean[] field_25 = new boolean[54];
  95.    // $FF: renamed from: Z boolean[]
  96.    boolean[] field_26 = new boolean[54];
  97.    boolean[] ONE = new boolean[54];
  98.    boolean[] TWO = new boolean[54];
  99.    boolean[] THREE = new boolean[54];
  100.    boolean[] FOUR = new boolean[54];
  101.    boolean[] FIVE = new boolean[54];
  102.    boolean[] SIX = new boolean[54];
  103.    boolean[] SEVEN = new boolean[54];
  104.    boolean[] EIGTH = new boolean[54];
  105.    boolean[] NINE = new boolean[54];
  106.    boolean[] ZERO = new boolean[54];
  107.    boolean[] STAR = new boolean[54];
  108.    boolean[] POINT = new boolean[54];
  109.  
  110.    public String getAppletInfo() {
  111.       return "LCD Display by Christoph Schaffhauser";
  112.    }
  113.  
  114.    public void DrawLCDString(Graphics var1, String var2) {
  115.       Dimension var8 = ((Component)this).size();
  116.       this.separated = new char[var2.length()];
  117.       var2.getChars(0, var2.length(), this.separated, 0);
  118.       int var5 = 0;
  119.       if (this.ScrollStateEnd < 0) {
  120.          var5 = -this.ScrollStateEnd;
  121.       }
  122.  
  123.       this.xstr = ((Applet)this).getParameter("MODE");
  124.       int var6 = this.xstr == null ? 16 : Integer.valueOf(this.xstr);
  125.       int var4;
  126.       if (var6 == 1) {
  127.          var4 = (var8.width - 10) / 18 - this.ScrollStateEnd + 1;
  128.       } else {
  129.          var4 = (var8.width - 10) / 12 - this.ScrollStateEnd + 1;
  130.       }
  131.  
  132.       if (var4 > var2.length()) {
  133.          var4 = var2.length();
  134.       }
  135.  
  136.       String var7 = ((Applet)this).getParameter("COLOR" + this.index);
  137.       this.separated2 = new char[var7.length()];
  138.       var7.getChars(0, var7.length(), this.separated2, 0);
  139.  
  140.       for(int var3 = var5; var3 < var4 - 1; ++var3) {
  141.          if (this.separated2[var3] == 'r') {
  142.             this.textColor = this.red;
  143.          }
  144.  
  145.          if (this.separated2[var3] == 'g') {
  146.             this.textColor = this.green;
  147.          }
  148.  
  149.          if (this.separated2[var3] == 'o') {
  150.             this.textColor = this.orange;
  151.          }
  152.  
  153.          if (this.separated2[var3] == 'y') {
  154.             this.textColor = this.yellow;
  155.          }
  156.  
  157.          if (this.separated2[var3] == 'b') {
  158.             this.textColor = this.blue;
  159.          }
  160.  
  161.          if (this.separated2[var3] == 'w') {
  162.             this.textColor = this.white;
  163.          }
  164.  
  165.          if (this.separated[var3] == ' ') {
  166.             this.Offset += 6;
  167.          }
  168.  
  169.          if (this.separated[var3] == '1') {
  170.             this.DrawLCDChar(var1, this.textColor, this.ONE);
  171.          }
  172.  
  173.          if (this.separated[var3] == '2') {
  174.             this.DrawLCDChar(var1, this.textColor, this.TWO);
  175.          }
  176.  
  177.          if (this.separated[var3] == '3') {
  178.             this.DrawLCDChar(var1, this.textColor, this.THREE);
  179.          }
  180.  
  181.          if (this.separated[var3] == '4') {
  182.             this.DrawLCDChar(var1, this.textColor, this.FOUR);
  183.          }
  184.  
  185.          if (this.separated[var3] == '5') {
  186.             this.DrawLCDChar(var1, this.textColor, this.FIVE);
  187.          }
  188.  
  189.          if (this.separated[var3] == '6') {
  190.             this.DrawLCDChar(var1, this.textColor, this.SIX);
  191.          }
  192.  
  193.          if (this.separated[var3] == '7') {
  194.             this.DrawLCDChar(var1, this.textColor, this.SEVEN);
  195.          }
  196.  
  197.          if (this.separated[var3] == '8') {
  198.             this.DrawLCDChar(var1, this.textColor, this.EIGTH);
  199.          }
  200.  
  201.          if (this.separated[var3] == '9') {
  202.             this.DrawLCDChar(var1, this.textColor, this.NINE);
  203.          }
  204.  
  205.          if (this.separated[var3] == '0') {
  206.             this.DrawLCDChar(var1, this.textColor, this.ZERO);
  207.          }
  208.  
  209.          if (this.separated[var3] == '.') {
  210.             this.DrawLCDChar(var1, this.textColor, this.POINT);
  211.          }
  212.  
  213.          if (this.separated[var3] == '*') {
  214.             this.DrawLCDChar(var1, this.textColor, this.STAR);
  215.          }
  216.  
  217.          if (this.separated[var3] == 'A') {
  218.             this.DrawLCDChar(var1, this.textColor, this.field_1);
  219.          }
  220.  
  221.          if (this.separated[var3] == 'B') {
  222.             this.DrawLCDChar(var1, this.textColor, this.field_2);
  223.          }
  224.  
  225.          if (this.separated[var3] == 'C') {
  226.             this.DrawLCDChar(var1, this.textColor, this.field_3);
  227.          }
  228.  
  229.          if (this.separated[var3] == 'D') {
  230.             this.DrawLCDChar(var1, this.textColor, this.field_4);
  231.          }
  232.  
  233.          if (this.separated[var3] == 'E') {
  234.             this.DrawLCDChar(var1, this.textColor, this.field_5);
  235.          }
  236.  
  237.          if (this.separated[var3] == 'F') {
  238.             this.DrawLCDChar(var1, this.textColor, this.field_6);
  239.          }
  240.  
  241.          if (this.separated[var3] == 'G') {
  242.             this.DrawLCDChar(var1, this.textColor, this.field_7);
  243.          }
  244.  
  245.          if (this.separated[var3] == 'H') {
  246.             this.DrawLCDChar(var1, this.textColor, this.field_8);
  247.          }
  248.  
  249.          if (this.separated[var3] == 'I') {
  250.             this.DrawLCDChar(var1, this.textColor, this.field_9);
  251.          }
  252.  
  253.          if (this.separated[var3] == 'J') {
  254.             this.DrawLCDChar(var1, this.textColor, this.field_10);
  255.          }
  256.  
  257.          if (this.separated[var3] == 'K') {
  258.             this.DrawLCDChar(var1, this.textColor, this.field_11);
  259.          }
  260.  
  261.          if (this.separated[var3] == 'L') {
  262.             this.DrawLCDChar(var1, this.textColor, this.field_12);
  263.          }
  264.  
  265.          if (this.separated[var3] == 'M') {
  266.             this.DrawLCDChar(var1, this.textColor, this.field_13);
  267.          }
  268.  
  269.          if (this.separated[var3] == 'N') {
  270.             this.DrawLCDChar(var1, this.textColor, this.field_14);
  271.          }
  272.  
  273.          if (this.separated[var3] == 'O') {
  274.             this.DrawLCDChar(var1, this.textColor, this.field_15);
  275.          }
  276.  
  277.          if (this.separated[var3] == 'P') {
  278.             this.DrawLCDChar(var1, this.textColor, this.field_16);
  279.          }
  280.  
  281.          if (this.separated[var3] == 'Q') {
  282.             this.DrawLCDChar(var1, this.textColor, this.field_17);
  283.          }
  284.  
  285.          if (this.separated[var3] == 'R') {
  286.             this.DrawLCDChar(var1, this.textColor, this.field_18);
  287.          }
  288.  
  289.          if (this.separated[var3] == 'S') {
  290.             this.DrawLCDChar(var1, this.textColor, this.field_19);
  291.          }
  292.  
  293.          if (this.separated[var3] == 'T') {
  294.             this.DrawLCDChar(var1, this.textColor, this.field_20);
  295.          }
  296.  
  297.          if (this.separated[var3] == 'U') {
  298.             this.DrawLCDChar(var1, this.textColor, this.field_21);
  299.          }
  300.  
  301.          if (this.separated[var3] == 'V') {
  302.             this.DrawLCDChar(var1, this.textColor, this.field_22);
  303.          }
  304.  
  305.          if (this.separated[var3] == 'W') {
  306.             this.DrawLCDChar(var1, this.textColor, this.field_23);
  307.          }
  308.  
  309.          if (this.separated[var3] == 'X') {
  310.             this.DrawLCDChar(var1, this.textColor, this.field_24);
  311.          }
  312.  
  313.          if (this.separated[var3] == 'Y') {
  314.             this.DrawLCDChar(var1, this.textColor, this.field_25);
  315.          }
  316.  
  317.          if (this.separated[var3] == 'Z') {
  318.             this.DrawLCDChar(var1, this.textColor, this.field_26);
  319.          }
  320.       }
  321.  
  322.    }
  323.  
  324.    public void DrawLCDChar(Graphics var1, Color var2, boolean[] var3) {
  325.       var1.setColor(var2);
  326.       int var6 = 0;
  327.  
  328.       for(int var4 = 0; var4 <= 8; ++var4) {
  329.          for(int var5 = 0; var5 <= 5; ++var5) {
  330.             if (var3[var6]) {
  331.                this.drawYellowDot(var1, var5 + this.Offset, var4);
  332.             }
  333.  
  334.             ++var6;
  335.          }
  336.       }
  337.  
  338.       this.Offset += 6;
  339.    }
  340.  
  341.    public void init() {
  342.       for(int var2 = 0; var2 <= 8; ++var2) {
  343.          this.field_1[var2 * 6 + 4] = this.field_1[var2 * 6] = this.field_2[var2 * 6] = this.field_3[var2 * 6] = this.field_4[var2 * 6] = this.field_5[var2 * 6] = this.field_6[var2 * 6] = this.field_7[var2 * 6] = this.field_8[var2 * 6] = this.field_8[var2 * 6 + 4] = this.field_9[var2 * 6 + 2] = this.field_10[var2 * 6 + 4] = this.field_11[var2 * 6] = this.field_12[var2 * 6] = this.field_13[var2 * 6] = this.field_13[var2 * 6 + 4] = this.field_14[var2 * 6] = this.field_14[var2 * 6 + 4] = this.field_15[var2 * 6] = this.field_15[var2 * 6 + 4] = this.field_16[var2 * 6] = this.field_17[var2 * 6 + 4] = this.field_18[var2 * 6] = this.field_20[var2 * 6 + 2] = this.field_20[var2 * 6 + 2] = this.field_21[var2 * 6] = this.field_21[var2 * 6 + 4] = this.field_22[var2 * 6] = this.field_22[var2 * 6 + 4] = this.field_23[var2 * 6] = this.field_23[var2 * 6 + 4] = this.ONE[var2 * 6 + 3] = true;
  344.       }
  345.  
  346.       for(int var8 = 1; var8 <= 3; ++var8) {
  347.          this.field_2[var8] = this.field_2[var8 + 24] = this.field_2[var8 + 48] = this.field_5[var8 + 48] = this.field_7[var8 + 48] = this.field_3[var8 + 1] = this.field_3[var8 + 49] = this.field_7[var8 + 25] = this.field_8[var8 + 24] = this.field_10[var8 + 48] = this.field_14[var8 * 6 + 14] = this.field_16[var8] = this.field_16[var8 + 24] = this.field_16[var8 * 6 + 4] = this.field_17[var8] = this.field_17[var8 + 24] = this.field_17[var8 * 6] = this.field_18[var8] = this.field_18[var8 + 24] = this.field_18[var8 * 6 + 4] = this.field_19[var8 * 6] = this.field_1[30 + var8] = this.STAR[var8 + 18] = this.STAR[var8 + 30] = this.TWO[var8 + 6] = this.TWO[var8 * 6 + 10] = this.THREE[var8 + 6] = this.THREE[var8 + 48] = this.FIVE[24 + var8] = this.FIVE[48 + var8] = this.FIVE[var8 * 6 + 28] = this.FIVE[var8 * 6 + 6] = this.SIX[24 + var8] = this.SIX[48 + var8] = this.SIX[var8 * 6 + 28] = this.SIX[var8 * 6 + 24] = this.EIGTH[24 + var8] = this.EIGTH[48 + var8] = this.EIGTH[var8 * 6 + 28] = this.EIGTH[var8 * 6 + 24] = this.EIGTH[var8 + 6] = this.NINE[var8 + 6] = this.NINE[var8 + 24] = this.NINE[var8 + 48] = true;
  348.       }
  349.  
  350.       for(int var9 = 0; var9 <= 4; ++var9) {
  351.          this.field_26[var9 + 48] = this.field_26[var9] = this.field_20[var9] = this.field_9[var9] = this.field_9[var9 + 48] = this.field_5[var9] = this.field_6[var9] = this.field_7[var9] = this.field_10[var9] = this.field_12[var9 + 48] = this.field_15[var9] = this.field_15[var9 + 48] = this.field_21[var9 + 48] = this.field_19[var9] = this.field_19[var9 + 48] = this.STAR[var9 + 24] = this.TWO[var9 + 48] = this.FOUR[var9 + 30] = this.FOUR[var9 * 6 + 27] = this.FOUR[var9 * 6 + 6] = this.FIVE[6 + var9] = this.SEVEN[6 + var9] = this.NINE[var9 * 6 + 22] = true;
  352.       }
  353.  
  354.       this.field_3[0] = this.field_3[6] = this.field_3[42] = this.field_3[48] = this.field_10[52] = this.field_15[0] = this.field_15[4] = this.field_15[48] = this.field_15[52] = this.field_21[48] = this.field_21[52] = this.field_19[0] = this.field_19[52] = this.field_22[42] = this.field_22[48] = this.field_22[46] = this.field_22[52] = this.field_23[48] = this.field_23[52] = this.field_1[0] = this.field_1[4] = this.field_1[6] = this.field_1[10] = this.field_7[0] = this.field_7[48] = this.STAR[26] = this.ONE[3] = false;
  355.       this.field_24[0] = this.field_24[4] = this.field_24[6] = this.field_24[10] = this.field_24[13] = this.field_24[15] = this.field_24[19] = this.field_24[21] = this.field_24[26] = true;
  356.  
  357.       for(int var10 = 0; var10 <= 53; ++var10) {
  358.          this.field_25[var10] = this.field_24[var10];
  359.          this.ZERO[var10] = this.field_15[var10];
  360.       }
  361.  
  362.       for(int var11 = 0; var11 <= 4; ++var11) {
  363.          this.field_25[var11 * 6 + 2 + 24] = true;
  364.       }
  365.  
  366.       this.ZERO[1] = this.ZERO[2] = this.ZERO[3] = this.ZERO[6] = this.ZERO[10] = false;
  367.       this.field_24[31] = this.field_24[33] = this.field_24[37] = this.field_24[39] = this.field_24[42] = this.field_24[46] = this.field_24[48] = this.field_24[52] = this.field_26[10] = this.field_26[15] = this.field_26[21] = this.field_26[26] = this.field_26[31] = this.field_26[37] = this.field_26[42] = this.field_1[2] = this.field_1[7] = this.field_1[9] = this.field_19[25] = this.field_19[26] = this.field_19[33] = this.field_19[40] = this.field_19[46] = this.field_23[44] = this.field_23[49] = this.field_23[51] = this.field_22[43] = this.field_22[50] = this.field_22[45] = this.field_10[42] = this.field_3[7] = this.field_3[43] = this.field_13[7] = this.field_13[9] = this.field_13[14] = this.field_18[31] = this.field_18[38] = this.field_18[45] = this.field_18[52] = this.field_14[13] = this.field_14[39] = this.field_11[4] = this.field_11[10] = this.field_11[15] = this.field_11[20] = this.field_11[25] = this.field_11[32] = this.field_11[39] = this.field_11[46] = this.field_11[52] = this.field_5[52] = this.field_6[25] = this.field_5[25] = this.field_6[26] = this.field_5[26] = this.field_7[34] = this.field_7[40] = this.field_7[46] = this.STAR[12] = this.STAR[14] = this.STAR[16] = this.STAR[36] = this.STAR[38] = this.STAR[40] = this.ZERO[7] = this.ZERO[8] = this.ZERO[9] = this.field_4[1] = this.field_4[2] = this.field_4[9] = this.field_4[16] = this.field_4[22] = this.field_4[28] = this.field_4[34] = this.field_4[40] = this.field_4[45] = this.field_4[49] = this.field_4[50] = this.field_2[10] = this.field_2[16] = this.field_2[22] = this.field_2[34] = this.field_2[40] = this.field_2[46] = this.POINT[43] = this.POINT[44] = this.POINT[49] = this.POINT[50] = this.ONE[24] = this.ONE[19] = this.ONE[14] = this.ONE[50] = this.ONE[52] = this.TWO[43] = this.TWO[38] = this.TWO[33] = this.TWO[12] = this.SEVEN[16] = this.SEVEN[22] = this.SEVEN[27] = this.SEVEN[33] = this.SEVEN[38] = this.SEVEN[44] = this.SEVEN[49] = this.THREE[12] = this.THREE[16] = this.THREE[22] = this.THREE[27] = this.THREE[33] = this.THREE[40] = this.THREE[46] = this.THREE[42] = this.FIVE[42] = this.SIX[24] = this.SIX[19] = this.SIX[14] = this.SIX[9] = this.EIGTH[12] = this.EIGTH[16] = this.EIGTH[18] = this.EIGTH[22] = this.NINE[12] = this.NINE[16] = this.NINE[18] = this.NINE[42] = true;
  368.       Dimension var6 = ((Component)this).size();
  369.       if (this.buffer2 == null || var6.width != this.buffersize2.width || var6.height != this.buffersize2.height) {
  370.          this.buffer2 = ((Component)this).createImage(var6.width, var6.height);
  371.          this.buffersize2 = var6;
  372.          this.bu2 = this.buffer2.getGraphics();
  373.       }
  374.  
  375.       this.xstr = ((Applet)this).getParameter("MODE");
  376.       int var4 = this.xstr == null ? 16 : Integer.valueOf(this.xstr);
  377.       byte var5;
  378.       if (var4 == 1) {
  379.          var5 = 11;
  380.       } else {
  381.          var5 = 0;
  382.       }
  383.  
  384.       this.bu2.setColor(this.black);
  385.       this.bu2.fillRect(5, 5, var6.width - 10, 30);
  386.       this.bu2.drawLine(0, 0, var6.width - 1, 0);
  387.       this.bu2.drawLine(var6.width - 1, 0, var6.width - 1, 28 + var5);
  388.       this.bu2.drawLine(var6.width - 1, 28 + var5, 0, 28 + var5);
  389.       this.bu2.drawLine(0, 28 + var5, 0, 0);
  390.       this.bu2.setColor(this.white);
  391.       this.bu2.drawLine(4, 24 + var5, var6.width - 5, 24 + var5);
  392.       this.bu2.drawLine(var6.width - 5, 24 + var5, var6.width - 5, 4);
  393.       this.bu2.drawLine(1, 27 + var5, 1, 1);
  394.       this.bu2.drawLine(1, 1, var6.width - 2, 1);
  395.       this.bu2.setColor(this.gray);
  396.       this.bu2.drawLine(var6.width - 6, 4, 4, 4);
  397.       this.bu2.drawLine(4, 4, 4, 23 + var5);
  398.       this.bu2.drawLine(var6.width - 2, 1, var6.width - 2, 27 + var5);
  399.       this.bu2.drawLine(var6.width - 2, 27 + var5, 1, 27 + var5);
  400.       this.bu2.setColor(this.lightgray);
  401.       this.bu2.drawLine(2, 26 + var5, 2, 2);
  402.       this.bu2.drawLine(2, 2, var6.width - 3, 2);
  403.       this.bu2.setColor(this.darkgray);
  404.       this.bu2.drawLine(var6.width - 3, 2, var6.width - 3, 26 + var5);
  405.       this.bu2.drawLine(var6.width - 3, 26 + var5, 2, 26 + var5);
  406.       this.bu2.setColor(this.middlegray);
  407.       this.bu2.drawLine(3, 25 + var5, 3, 3);
  408.       this.bu2.drawLine(3, 3, var6.width - 4, 3);
  409.       this.bu2.drawLine(var6.width - 4, 3, var6.width - 4, 25 + var5);
  410.       this.bu2.drawLine(var6.width - 4, 25 + var5, 3, 25 + var5);
  411.       this.bu2.setColor(this.darkgreen);
  412.       if (var4 == 1) {
  413.          for(int var12 = 0; var12 <= (var6.width - 12) / 3; ++var12) {
  414.             for(int var3 = 0; var3 <= 8; ++var3) {
  415.                this.bu2.fillRect(6 + var12 * 3, 7 + var3 * 3, 2, 2);
  416.             }
  417.          }
  418.       } else {
  419.          for(int var13 = 0; var13 <= (var6.width - 12) / 2; ++var13) {
  420.             for(int var14 = 0; var14 <= 8; ++var14) {
  421.                this.bu2.fillRect(6 + var13 * 2, 6 + var14 * 2, 1, 1);
  422.             }
  423.          }
  424.       }
  425.  
  426.       this.index = 1;
  427.       String var1 = ((Applet)this).getParameter("NUM");
  428.       this.StringNum = var1 == null ? 16 : Integer.valueOf(var1);
  429.       ++this.StringNum;
  430.       var1 = ((Applet)this).getParameter("SPEED");
  431.       this.Speed = var1 == null ? 16 : Integer.valueOf(var1);
  432.       this.Offset = 0;
  433.       this.index = 1;
  434.       this.ScrollIn = true;
  435.       this.str = ((Applet)this).getParameter("TEXT" + this.index);
  436.       this.ScrollStateEnd = 18;
  437.       this.ScrollStateStart = this.str.length();
  438.       this.notdraw = true;
  439.       this.Offset = this.ScrollStateEnd * 6;
  440.       this.firsttime = true;
  441.    }
  442.  
  443.    public void drawYellowDot(Graphics var1, int var2, int var3) {
  444.       this.xstr = ((Applet)this).getParameter("MODE");
  445.       int var4 = this.xstr == null ? 16 : Integer.valueOf(this.xstr);
  446.       if (var4 == 1) {
  447.          var1.fillRect(6 + var2 * 3, 7 + var3 * 3, 2, 2);
  448.       } else {
  449.          var1.fillRect(6 + var2 * 2, 6 + var3 * 2, 1, 1);
  450.       }
  451.    }
  452.  
  453.    public void paint(Graphics var1) {
  454.       Dimension var3 = ((Component)this).size();
  455.       if (this.buffer == null || var3.width != this.buffersize.width || var3.height != this.buffersize.height) {
  456.          this.buffer = ((Component)this).createImage(var3.width, var3.height);
  457.          this.buffersize = var3;
  458.          this.field_0 = this.buffer.getGraphics();
  459.       }
  460.  
  461.       this.field_0.drawImage(this.buffer2, 0, 0, (ImageObserver)null);
  462.       var1.drawImage(this.buffer, 0, 0, (ImageObserver)null);
  463.       this.index = 1;
  464.       this.ScrollIn = true;
  465.       this.str = ((Applet)this).getParameter("TEXT" + this.index);
  466.       this.xstr = ((Applet)this).getParameter("MODE");
  467.       int var2 = this.xstr == null ? 16 : Integer.valueOf(this.xstr);
  468.       if (var2 == 1) {
  469.          this.ScrollStateEnd = (var3.width - 10) / 18 + 1;
  470.       } else {
  471.          this.ScrollStateEnd = (var3.width - 10) / 12 + 1;
  472.       }
  473.  
  474.       this.ScrollStateStart = this.str.length();
  475.       this.notdraw = true;
  476.       this.Offset = this.ScrollStateEnd * 6;
  477.       this.firsttime = true;
  478.    }
  479.  
  480.    public boolean mouseUp(Event var1, int var2, int var3) {
  481.       return true;
  482.    }
  483.  
  484.    public void start() {
  485.       if (this.killme == null) {
  486.          this.killme = new Thread(this);
  487.          this.killme.start();
  488.       }
  489.  
  490.    }
  491.  
  492.    public void stop() {
  493.       this.killme = null;
  494.    }
  495.  
  496.    public void run() {
  497.       Graphics var2 = ((Component)this).getGraphics();
  498.       Dimension var3 = ((Component)this).size();
  499.       if (this.buffer == null || var3.width != this.buffersize.width || var3.height != this.buffersize.height) {
  500.          this.buffer = ((Component)this).createImage(var3.width, var3.height);
  501.          this.buffersize = var3;
  502.          this.field_0 = this.buffer.getGraphics();
  503.       }
  504.  
  505.       if (this.buffer2 == null || var3.width != this.buffersize2.width || var3.height != this.buffersize2.height) {
  506.          this.buffer2 = ((Component)this).createImage(var3.width, var3.height);
  507.          this.buffersize2 = var3;
  508.          this.bu2 = this.buffer2.getGraphics();
  509.       }
  510.  
  511.       while(this.killme != null) {
  512.          try {
  513.             Thread.sleep((long)(this.Speed * 10));
  514.          } catch (InterruptedException var4) {
  515.          }
  516.  
  517.          this.str = ((Applet)this).getParameter("TEXT" + this.index);
  518.          if (this.str.length() == -this.ScrollStateEnd - 1) {
  519.             ++this.index;
  520.             if (this.index >= this.StringNum) {
  521.                this.index = 1;
  522.             }
  523.  
  524.             this.str = ((Applet)this).getParameter("TEXT" + this.index);
  525.             this.xstr = ((Applet)this).getParameter("MODE");
  526.             int var1 = this.xstr == null ? 16 : Integer.valueOf(this.xstr);
  527.             if (var1 == 1) {
  528.                this.ScrollStateEnd = (var3.width - 10) / 17 + 1;
  529.             } else {
  530.                this.ScrollStateEnd = (var3.width - 10) / 12 + 1;
  531.             }
  532.  
  533.             this.ScrollStateStart = this.str.length();
  534.             this.notdraw = true;
  535.          }
  536.  
  537.          this.field_0.drawImage(this.buffer2, 0, 0, (ImageObserver)null);
  538.          this.firsttime = false;
  539.          this.Offset = this.ScrollStateEnd * 6;
  540.          if (this.Offset < 0) {
  541.             this.Offset = 0;
  542.          }
  543.  
  544.          this.DrawLCDString(this.field_0, this.str);
  545.          var2.drawImage(this.buffer, 0, 0, (ImageObserver)null);
  546.          --this.ScrollStateEnd;
  547.       }
  548.  
  549.       this.killme = null;
  550.    }
  551. }
  552.